package com.zcsy.manage.persistence.system;


import java.util.List;

import com.zcsy.manage.model.system.Dict;



/**
 * @ClassName: DataKeyDao
 * @Description: 数据类型持久层接口类
 * @author xujl
 * @date 2015年5月27日 下午3:41:37
 */
public interface DictDao {

    /**
     * 插入数据类型信息
     * @param record 数据类型信息
     * @return 插入结果
     */
    int insert(Dict record);

    /**
     * @Description 根据主键获取字典值<br>
     * @param dicId 字典Id
     * @return 对应字典对象
     * @author tanghan barbadosliy@163.com
     * @date 2015年6月29日
     */
    Dict selectByPrimaryKey(String dicId);
    
    /**
     * @Description 根据类型获取字典值<br>
     * @param type 字典类型
     * @return 对应字典对象
     */
    List<Dict> selectByDescription(String description);
    
    /**
     * @Description 根据类型获取字典值<br>
     * @param type 字典类型
     * @return 对应字典对象
     */
    List<Dict> selectByType(String type);
    
    /**
     * @Description 根据类型和值获取字典值<br>
     * @param type 字典类型
     * @return 对应字典对象
     */
    Dict selectByFilter(Integer value,String type);

    /**
     * @Description 获取所有的字典集合<br>
     * @return 字典集合
     * @author tanghan barbadosliy@163.com
     * @date 2015年6月29日
     * @see
     */
    List<Dict> getDictList();
    
    /**
     * @Description 根据标签名和类型名获取所有的字典集合<br>
     * @param dict 数据字典对象
     * @return 字典集合
     * @see
     */
    List<Dict> queryDict(Dict dict);
    
    /**
     * @Description 更新数据字典对象<br>
     *     为空不处理
     * @param record 数据字典对象
     * @return 操作结果
     * @author tanghan barbadosliy@163.com
     * @date 2015年6月29日
     * @see 
     */
    int updateByPrimaryKeySelective(Dict record);
    
    /**
     * @Description 根据字典Id删除字典对象<br>
     * 
     * @param dicId 字典ID值
     * @return  操作结果
     * @author tanghan barbadosliy@163.com
     * @date 2015年6月29日
     * @see 
     */
    int deleteByPrimaryKey(String dicId);
    
    /**
     * 
     * @Description <br>
     * 根据数据类型删除数据字典
     * @param type 数据类型
     * @return 
     * @author chenshengfang 735569870@qq.com
     * @date 2015年7月14日
     * @see
     */
    int deleteByType(String type);
    
    /**
     * @Description 返回所有新闻列表<br>
     * 
     * @return 
     * @author caiyinli 13277030520@163.com
     * @date 2015年11月23日
     * @see 
     */
    List<Dict> getDicts();
}
